
#工程添加多个特定的头文件搜索路径（按需修改）
INCLUDE_DIRECTORIES(
	${ALL_INCLUDE_DIRS}
)

#添加非标准的共享库搜索路径（按需修改）
LINK_DIRECTORIES(
	${ALL_LIBRARY_DIRS}
)

#将文件添加到工程目录中（按需修改）
FILE(GLOB_RECURSE SRC_LIST *.cpp *.c *.h)

#设置需要忽略的源文件（按需修改）
SET(IGNORE_SRC_LIST  )

#从源文件列表中查找需要忽略文件（无需修改）
SET(SRC_REMOVE_LIST)
FOREACH(F ${SRC_LIST})
	FOREACH(I ${IGNORE_SRC_LIST})
		SET(RegexStr .*/${I})
		string(REGEX MATCH ${RegexStr} dirName ${F} )
		IF(dirName)
			LIST(APPEND SRC_REMOVE_LIST ${F})
		ENDIF(dirName)
	ENDFOREACH(I)
ENDFOREACH(F)

#从源文件中删除忽略文件（无需修改）
FOREACH(F ${SRC_REMOVE_LIST})
	list(FIND SRC_LIST ${F} TMP_INDEX)
	list(REMOVE_AT SRC_LIST ${TMP_INDEX} )
ENDFOREACH(F)

FOREACH(F ${SRC_LIST})
	MESSAGE(STATUS ${F})
ENDFOREACH(F)

ADD_EXECUTABLE(
	${PROJECT_NAME}
	${SRC_LIST}
)

TARGET_LINK_LIBRARIES(
	${PROJECT_NAME}
    ${ALL_LIBRARIES}
    boost_filesystem
    dl
    atomic
    # testlib1
)

TARGET_LINK_OPTIONS(
	${PROJECT_NAME}
    PRIVATE
    ${LinkOptions}
)

# IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
#     TARGET_LINK_OPTIONS(${PROJECT_NAME} PRIVATE -fsanitize=address)
#     target_compile_options(${PROJECT_NAME} PRIVATE -fsanitize=address)
# ELSE(${CMAKE_BUILD_TYPE})
 
# ENDIF()


# target_compile_options(${PROJECT_NAME} PRIVATE
#     -g
#     -fsanitize=address
#     # -fno-omit-frame-pointer
#     # -rdynamic
# )
